package com.bonc.rms.mapper;

import java.util.Date;
import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

public interface ZShortDimissionMapper {

	//短期离职员工按性别和部门分布
	Integer getShortDimissionByGender(@Param("departmentId") Integer departmentId,
									  @Param("gender") String gender);
	
	//短期离职员工按年龄和部门分布
	Integer getShortDimissionByAge(@Param("departmentId") Integer departmentId,
								   @Param("age") String age);
	
	//短期离职员工按学历和部门分布
	Integer getShortDimissionByDegree(@Param("departmentId") Integer departmentId,
									  @Param("degree") String degree);
	
	//短期离职员工按工作经验和部门分布
	Integer getShortDimissionByWE(@Param("departmentId") Integer departmentId,
								  @Param("min") int min,
								  @Param("max") int max);
	
	//短期离职员工数量前十的一级部门部门(总公司)
	List<Map<String, String>> getShortDimissionTOPDept();
	
	//短期离职员工数量前十的二级部门(某一级部门下)
	List<Map<String, String>> getShortDimissionTOPDeptByDept(@Param("departmentId") Integer departmentId);
	
	//按月获取各入职类型人数
	List<Map<String, String>> getEntryType(@Param("departmentId") Integer departmentId, 
										   @Param("entryType") Integer entryType,
										   @Param("startMonth") Date startMonth, 
										   @Param("endMonth") Date endMonth);
	
	//HC周报  按周获取各入职类型人数
	List<Map<String, String>> getEntryTypeByDate(@Param("departmentId") Integer departmentId,
												 @Param("entryType") Integer entryType,
												 @Param("startDate") Date startDate,
												 @Param("endDate") Date endDate);
	
	//查询员工学历和部门分布
	Integer getDegreeDistribute(@Param("departmentId") Integer departmentId,
								@Param("degree") String degree);
	
	//查询员工性别和部门分布
	Integer getGenderDistribute(@Param("departmentId") Integer departmentId,
								@Param("gender") String gender);
	
	//判断登录用户所属一级部门是否为叶子结点  1-是   0-否
	Integer getLeafTag(@Param("departmentId") Integer departmentId);
	
	//判断登录用户所在一级部们所属level
	Integer getLevelTag(@Param("departmentId") Integer departmentId);
	
	//获取部门 id 对应的部门名称
	String getDeptName(@Param("departmentId") Integer departmentId);
	
	//获取登录用户所在部门的子部门数量
	Integer getSubDeptNum(@Param("departmentId") Integer departmentId);
}
